﻿namespace ToyStore.Web.Mvc.Common
{
	/// <summary>
	/// Potwierdzenie akcji.
	/// </summary>
	public class ActionConfirmation
	{
		/// <summary>
		/// Klucz pod jakim znajduje się obiekt potwierdzający akcję w TempData.
		/// </summary>
		public static string TempDataKey = "ActionConfirmationKey";

		/// <summary>
		/// Czy akcja zakończona sukcesem.
		/// </summary>
		public bool WasSuccessful { get; set; }

		/// <summary>
		/// Treść komunikatu.
		/// </summary>
		public string Message { get; set; }

		/// <summary>
		/// Konstruktor.
		/// </summary>
		protected ActionConfirmation(){}

		/// <summary>
		/// Stworzenie komunikatu informującego o sukcesie.
		/// </summary>
		/// <param name="message"></param>
		/// <returns></returns>
		public static ActionConfirmation CreateSuccess(string message)
		{
			var actionConfirmation = new ActionConfirmation {Message = message, WasSuccessful = true};
			return actionConfirmation;
		}

		/// <summary>
		/// Stworzenie komunikatu informującego o błędzie.
		/// </summary>
		/// <param name="message"></param>
		/// <returns></returns>
		public static ActionConfirmation CreateError(string message)
		{
			var actionConfirmation = new ActionConfirmation { Message = message, WasSuccessful = false };
			return actionConfirmation;
		}
	}
}